package com.sinosoft.ptas.service;

import java.util.List;

import javax.validation.Valid;

import com.sinosoft.framework.core.common.exception.BusinessException;
import com.sinosoft.ptas.entity.AnnualTargetEntity;
/**
 * 年度目标管理接口定义
 * @author lianWuJun
 * @time   2017年2月18日 下午5:54:10
 */
public interface AnnualTargetService {
	
	/**
	 * 创建年度目标
	 * @param annualTargetEntity
	 * @return 年度目标编号
	 */
	public String createAnnualTarget(@Valid AnnualTargetEntity annualTargetEntity) throws BusinessException;
	
	/**
	 * 根据年度目标编号查询年度目标
	 * @param id
	 * @return 年度目标类型实体
	 */
	public AnnualTargetEntity retrieveAnnualTarget(String id);
	
	/**
	 * 根据年度目标类的属性查询年度目标
	 * 如果参数为空，则查询全部
	 * @param annualTargetEntity
	 * @return 年度目标类型集合
	 */
	public List<AnnualTargetEntity> retrieveAnnualTargets(AnnualTargetEntity annualTargetEntity);
	
	/**
	 * 根据年度目标编号更新年度目标
	 * @param annualTargetEntity
	 */
	public void updateAnnualTarget(@Valid AnnualTargetEntity annualTargetEntity) throws BusinessException;
	
	/**
	 * 根据年度目标编号删除年度目标
	 * @param id
	 */
	public void deleteAnnualTarget(String id) throws BusinessException;
	
}
